package Lambda表达式的使用方法;

import org.junit.Test;

import java.util.Comparator;

/**
 * Lambda表达式的使用举例
 */
public class Lambda实例演示 {
    @Test
    public void test(){
    //不用Lambda表达式的写法

        Runnable r1=new Runnable() {//实现多线程的接口
            @Override
            public void run() {
                System.out.println("四川欢迎您！");
            }
        };
        r1.run();
        System.out.println("----------------------------");

    //使用Lambda表达式的写法
        Runnable r2=() -> System.out.println("四川欢迎您！");
        r2.run();
    }
    @Test
    public void test2(){

        //不用Lambda表达式的写法
        Comparator<Integer> c1 = new Comparator<Integer>() {//整型比较器
            @Override
            public int compare(Integer o1, Integer o2) {
                return Integer.compare(o1,o2);
            }
        };
        int compare1 = c1.compare(8, 16);
        System.out.println(compare1);
        System.out.println("-------------------------------");

        //使用Lambda表达式的写法
        Comparator<Integer> c2=(o1,o2) -> Integer.compare(o1,o2);
        int compare2 = c2.compare(8, 16);
        System.out.println(compare2);
        System.out.println("-------------------------------");

        //方法引用
        Comparator<Integer> c3=Integer :: compare;
        int compare3 = c3.compare(8, 16);
        System.out.println(compare3);

    }
}
